Networks that primarily utilize data link layer devices are often referred to as layer two (L2) networks. A data link layer device is a device that operates within the second layer of the Open Systems Interconnection (OSI) reference model, i.e., the data link layer. One example of a data link layer device is a customer premises equipment (CPE) device, such as a switch, modem, Ethernet card, or wireless access point. Traditional L2 networks include Ethernet networks, Asynchronous Transfer Mode (ATM) networks, Frame Relay networks, networks using High Level Data Link Control (HDLC), Point-to-Point (PPP) connections, PPP sessions from Layer 2 Tunneling Protocol (L2TP) tunnels, and Virtual Local Area Networks (VLANs).
In L2 networks, an L2 device responsible for forwarding network traffic, such as an L2 switch or an L2-enabled router, operates to “flood” (i.e., forward a copy of) network traffic to a set of output ports of the device in a situation where the network traffic is destined for a network address that has not previously been seen, and therefore not learned, by the device. In this manner the L2 device can ensure that at least the destination receives the network traffic regardless of the destination's location within the L2 network. The L2 device continues to flood to the set of output ports all subsequent network traffic bound for the destination address until the L2 device receives some network traffic originated from the address, at which time the L2 device is able to “learn” the specific port by which the L2 address is reachable. As a result, the L2 device forwards future network traffic bound for the address to the particular output port and no longer needs to flood the network traffic.
In this way, L2 network devices rely on network traffic flooding to ensure that L2 traffic reaches its destination. However, the use of network flooding requires that the L2 devices operate to reduce or eliminate any “data loops” in the L2 network, i.e., situations where network traffic is flooded in a manner that results in the flooding device subsequently receiving the same traffic that was flooded by the flooding device. As one example, an L2 network in which multiple links exist between devices or in which the devices are coupled in a ring topology may suffer from data loops. The presence of such a data loop may have severe adverse affects on a L2 network. For example, a data loop may result in consumption of significant bandwidth and resources as the flooded traffic within the data loop is continuously flooded by the devices. Moreover, a data loop may also result in the final destination receiving multiple copies of the same packet.
Thus, it is often necessary to eliminate data loops from the L2 network topology. One typical approach in addressing data loops is to for the L2 devices to coordinate and construct a shortest path bridging (SPB) tree to represent the L2 network. L2 devices with the network, such as Ethernet bridges, share information and eliminate loops by reducing the L2 network to a one or more SPB trees, each having a single path between end stations. The L2 devices utilize the agreed-upon SPB trees to control forwarding of data within the L2 network, thereby avoiding data loops.